<?php

namespace Controller;

require_once('Validator/Validator.php');

class AddMovieController{
	
	public function doControll(\Model\Database $db, \Model\UserHandler $userHandler){
		
		$movieView = new \View\MovieView();
		$menuView =  new \View\MenuView();
		$validator = new \Validator\Validator();
		
		//Hämta ut nuvarande användare
		$user = \View\NavigationView::getCurrentUser($userHandler, $db);
		
		$out="";
		
		$out .= $menuView->MyPageButton();
		
		//Har användaren försökt att lägga till en film?
		if ($movieView->TriedToAdd()){
			//Finns filmen redan?
				if($userHandler->MovieExist($movieView->GetName())){
				 	$out .=$movieView->MovieExistMessage(); 
					
				} else {
			
			//Kontrollera indatat
			if ($validator->ValidateNotEmpty($movieView->GetName()) && $validator->ValidateRating($movieView->GetRating())
				&& $validator->ValidateNotEmpty($movieView->GetReview()) && $image = $validator->ValidateUpload()) {
				//lägger till film
				
				if ($userHandler->AddMovie($image, $movieView->GetName(),$movieView->GetReview(), $movieView->GetRating(),$user-> getId(), $user->getUsername())){
					$out .= $movieView->AddMovieSuccess();
					$out .=$menuView->AddMovieButton();
					
				}
				
			} else {
				$out .= $movieView->addMovieBox();
			}
			}
			$out .=$validator->GetValidationError();
		} else {
			$out .= $movieView->addMovieBox();
		}
		
		return $out;
	}
	
}
